The virtualization technology is the construction basis of the cloud service platform. The virtualization technology refers to that the physical resources are, in a physical server, split into a plurality of logic partitions through the virtual management software, Hypervisor, and each partition is isolated with each other and becomes the independent virtual machine. In view of operating system and application program, there is no difference between the virtual machine and the physical server, and they can share the resources of the same one physical server.
The cloud service platform supports providing the virtual system rental service for the cloud service users, and the so-called virtual system refers to the resource set including a series of virtual machines, storages and networks which are connected or related to each other. In order to make it convenient for the users to host the traditional application system onto the virtual system, the virtualization platform also provides the deployment and management function of the virtual system for the cloud service users, including deploying the application program of the traditional application system on the virtual machine, and providing the function of controlling sequential starting of the application programs with dependence.
After the application system is hosted to the cloud service platform, one or more application programs may operate on one virtual machine, so the cloud service platform is required to control and coordinate the starting sequence control of the application system together with the virtual machine. For the demand for controlling the starting sequence, for example, for some Web systems, the Web application and the Web service start depending on the information of the database, so the database is required to start first. But the database may be deployed with a certain Web application or Web service on the same one virtual machine. If the control for sequential starting the virtual machines does not meet the requirement, it further needs the function of controlling the starting sequence of application programs within the virtual machine.
FIG. 1 is a diagram of a cloud service platform model according to the related art; as shown in FIG. 1, the model in the figure includes a deployment platform 12 which deploys the Open Virtualization Format (OVF) package of the application system. The OVF package includes the information such as the resource configuration of the virtual machine, the mapping file, the environment, etc., which is included in the application system. The deployment process of the cloud service platform to the OVF package is the recovery procedure of the application system and its contained environment configuration information of the virtual machine. The deployment platform 12 is responsible for managing the starting sequence of the virtual machines on which the application system is deployed, and coordinating the starting sequence of the application programs. The configuration information of the application system includes the configuration information related to the application program in the application system, such as the starting sequence of the application programs, the identification of the virtual machine where the application is located, etc. The virtual machine 14 is a virtual resource entity which encapsulates the CPU, the memory, the local magnetic disc and the network, etc. The virtual machine manager 16 is responsible for managing the virtual machine within the host computer system, including starting and closing of the virtual machine, the resource allocation of the virtual machine, etc. The application program is a certain program of the application system so as to realize partial functions of the application system, and the application program can run independently and may also depend on the starting of other application programs. The control engine 142 is responsible for coordinating the starting and closing of the application program within the virtual machine and mutually coordinating among the application programs, and the control engine 142 is triggered to start up by the operating system in the virtual machine after the virtual machine starts up.
FIG. 2 is an interaction flow chart for starting according to a sequence of activating engines of the virtual machines in the related art. As shown in FIG. 2, assuming that the application system needs two virtual machines, these two virtual machines are provided by the host computer system X and the host computer system Y respectively, and the two corresponding virtual machines are the virtual machine X1 and the virtual machine Y1 respectively, and the virtual machine Y1 depends on the virtual machine X1, that is, the virtual machine X1 is required to start first.
In step S202, the cloud service users establish the application system through the deployment platform, which includes determining the required virtual machine, planning the configuration information, such as the deployment of the application program included in the application system in the virtual machine, the starting sequence related to the application program, etc.
From step S204˜step S210, the deployment platform leads the virtual machine X1 in the host computer system X to start first.
In step S204, the deployment platform sends a request for starting the virtual machine X1 to the virtual machine manager of the host computer system X.
In step S206, the virtual machine manager of the host computer system X leads the starting of the operating system of the virtual machine X1.
In step S208, the operating system of the virtual machine X1 runs the engine activating program.
In step S210, the activation engine of the virtual machine X1 returns a system activation completion message to the deployment platform.
In step S212, the deployment platform transmits the configuration information related to the application program in the application system to the program coordinator and the activation engine of the virtual machine X1.
From step S214˜step S220, the deployment platform, according to the configuration information related to leading the application program, controls the starting of the virtual machine Y1 in the host computer system Y.
In step S214, the deployment platform sends a request for starting the virtual machine Y1 to the virtual machine manager of the host computer system Y.
In step S216, the virtual machine manager of the host computer system Y leads the starting of the operating system of virtual machine Y1.
In step S218, the operating system of the virtual machine Y1 runs the engine activating program.
In step S220, the activation engine of the virtual machine Y1 returns a system activation completion message to the deployment platform.
In step S222, the deployment platform transmits the configuration information related to the application program in the application system to the activation engine of the virtual machine Y1.
FIG. 3 is an interaction flow chart of a sequence starting the application programs in the virtual machine according to the related art. As shown in FIG. 3, assuming that the application system needs two virtual machines, these two virtual machines are provided by the host computer system X and the host computer system Y respectively, and the two corresponding virtual machines are the virtual machine X1 and the virtual machine Y1 respectively. The virtual machine X1 includes the application program X11 and the application program X12, and the virtual machine Y1 includes the application program Y11 and the application program Y12. The application program X11 and the application program Y11 do not depend on other application programs, and the application program Y12 depends on the application program X12, that is, the application program X12 is required to start first.
In step S302, the cloud service users establish the application system through the deployment platform, which includes determining the required virtual machine, planning the configuration information, such as the deployment of the application program included by the application system in the virtual machine, the starting sequence related to the application program, etc.
In step S304, the deployment platform leads the starting of the virtual machine X1 and its activation engine, including the transmission of the application program information, which can refer to the step S204˜step S212 as shown in FIG. 2 specifically.
In step S306, the deployment platform leads the starting of the virtual machine Y1 and its activation engine, including the transmission of the application program information, which can refer to the step S214˜step S222 as shown in FIG. 2 specifically.
In step S308, after the activation engine in the virtual machine X1 starts, the activation engine will start the application program automatically, where the application program X11 without the dependence is started at first.
In step S310, after the activation engine in the virtual machine Y1 starts, the activation engine will start the application program automatically, where the application program Y11 without the dependence is started at first. Because the starting of application program Y12 depends on first starting of the application program X12, the activation engine will set a timer T to wait for a notification message that the application program X12 is started completely.
Wherein, in the above-mentioned step S308 and step S310, there is no precedence sequence between the processing for the activation engine in the virtual machine X1 to start the application program without the dependence and the processing for the activation engine in the virtual machine Y1 to start the application program without the dependence, and they can be processed at the same time.
From step S312˜step S316, the activation engine in the virtual machine X1 starts the application program X12.
In step S312, the activation engine of the virtual machine X1 initiates a request for performing the application program X12 to the operating system of the virtual machine X1.
In step S314, the operating system of the virtual machine X1 returns a program execution completion message to the activation engine of the virtual machine X1 after the application program X12 is performed completely.
In step S316, the activation engine of the virtual machine X1 sends the program execution completion indication carrying the application program X12 identification to the deployment platform.
In step S318, the deployment platform obtains that the application program Y12 depends on the application program X12 according to the configuration information of the application system, then it forwards the program execution completion indication carrying the application program X12 identification to the virtual machine Y1 where the application program Y12 is located.
From step S320˜step S324, the activation engine in the virtual machine Y1 starts the application program Y12.
In step S320, after the activation engine of the virtual machine Y1 receives the execution completion indication about the application program X12, it stops the timer T, and initiates the request for performing the application program Y12 to the operating system of the virtual machine Y1.
In step S322, the operating system of the virtual machine Y1 returns a program execution completion message to the activation engine of the virtual machine Y1 after the application program Y12 is performed completely.
In step S324, the activation engine of the virtual machine Y1 sends the program execution completion indication carrying the application program Y12 identification to the deployment platform.
At present, the deployment of the cloud service platform to the application system is to control and coordinate the interaction with the activation engine in the virtual machine through the deployment platform. For the starting sequence among the application programs with dependence, the activation engine in the virtual machine controls the starting sequence of the application programs within the virtual machine, and the deployment platform controls the starting sequence of the application programs across the host computer system.
But for some conventional application systems, when the application system is closed, there is also the closing dependence of the application program, that is, the application programs of the application system are required to be closed according to a certain sequence. Because a plurality of application programs will be deployed on the same one virtual machine, the sequential closing of the virtual machines adopted in the current standard is unable to meet the demands.